"""
  输出器，将解析后的数据输出到网页上或控制台中
  create by 01 on 2020-02-29
"""
__author__ = '01'

import config
import utils


class HtmlOutputer(object):

    def __init__(self):
        # 存储解析后的数据
        self.datas = []

    def collect_data(self, data):
        """
        收集数据
        :param data:
        :return:
        """
        if data is None:
            return

        self.datas.append(data)

    def output_console(self):
        """
        将数据排序并输出到控制台
        :return:
        """
        print('\r\n\r\n评分排名前', config.RANK_NUM, '的新番信息：')
        # 按评分进行排序
        score_sorted = utils.sort(self.datas, 'score')[0:config.RANK_NUM]
        # 取出前n条进行打印
        count = 1
        for data in score_sorted:
            print('第' + str(count) + '名:', data['title'])
            print('\t视频地址:', data['url'])
            print('\t评分:', data['score'])
            print('\t评分人数:', data['score_number'])
            count += 1
